Telegram Group & Telegram Channel
Как ускорить вычисления с массивами с помощью NumExpr

NumExpr — мощный инструмент для ускорения вычислений с массивами в Python, который может значительно повысить производительность при работе с большими данными и сложными математическими выражениями.

Преобразовать медленный цикл, который занимал 650 мс, в вычисление за 60 мс — это реальность с использованием NumExpr.

Вот как NumExpr ускоряет вычисления 🔽

1️⃣ Частичное выполнение в кэше

NumExpr избегает создания огромных временных массивов, разбивая их на части, соответствующие размеру кэша.

Эти части обрабатываются и передаются через легковесную виртуальную машину, что ускоряет выполнение и оптимизирует доступ к памяти.

2️⃣ Ускорение с помощью SIMD и VML

Использование инструкций SIMD (Single Instruction, Multiple Data) позволяет обрабатывать несколько элементов данных одновременно.

При доступности NumExpr использует библиотеку Intel Math Kernel Library (MKL) для трансцендентных функций (таких как sin(), cos(), exp()), что значительно повышает производительность.

3️⃣ Поддержка многозадачного масштабирования

NumExpr автоматически распределяет вычисления между всеми ядрами процессора. Это позволяет эффективно использовать мощности многозадачности, ускоряя вычисления даже при больших данных.

Для работы с NumExpr достаточно заменить стандартные операции NumPy на аналоги NumExpr:
import numexpr as ne
import numpy as np

# Пример массивов
a = np.random.random(1000000)
b = np.random.random(1000000)

# Обычная операция NumPy
result = np.sin(a) + np.cos(b)

# Эквивалент NumExpr
result_ne = ne.evaluate('sin(a) + cos(b)')


Библиотека дата-сайентиста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM



tg-me.com/dsproglib/6438
Create:
Last Update:

Как ускорить вычисления с массивами с помощью NumExpr

NumExpr — мощный инструмент для ускорения вычислений с массивами в Python, который может значительно повысить производительность при работе с большими данными и сложными математическими выражениями.

Преобразовать медленный цикл, который занимал 650 мс, в вычисление за 60 мс — это реальность с использованием NumExpr.

Вот как NumExpr ускоряет вычисления 🔽

1️⃣ Частичное выполнение в кэше

NumExpr избегает создания огромных временных массивов, разбивая их на части, соответствующие размеру кэша.

Эти части обрабатываются и передаются через легковесную виртуальную машину, что ускоряет выполнение и оптимизирует доступ к памяти.

2️⃣ Ускорение с помощью SIMD и VML

Использование инструкций SIMD (Single Instruction, Multiple Data) позволяет обрабатывать несколько элементов данных одновременно.

При доступности NumExpr использует библиотеку Intel Math Kernel Library (MKL) для трансцендентных функций (таких как sin(), cos(), exp()), что значительно повышает производительность.

3️⃣ Поддержка многозадачного масштабирования

NumExpr автоматически распределяет вычисления между всеми ядрами процессора. Это позволяет эффективно использовать мощности многозадачности, ускоряя вычисления даже при больших данных.

Для работы с NumExpr достаточно заменить стандартные операции NumPy на аналоги NumExpr:

import numexpr as ne
import numpy as np

# Пример массивов
a = np.random.random(1000000)
b = np.random.random(1000000)

# Обычная операция NumPy
result = np.sin(a) + np.cos(b)

# Эквивалент NumExpr
result_ne = ne.evaluate('sin(a) + cos(b)')


Библиотека дата-сайентиста #буст

BY Библиотека дата-сайентиста | Data Science, Machine learning, анализ данных, машинное обучение




Share with your friend now:
tg-me.com/dsproglib/6438

View MORE
Open in Telegram


Библиотека data scientist’а | Data Science Machine learning анализ данных машинное обучение Telegram | DID YOU KNOW?

Date: |

Telegram is riding high, adding tens of million of users this year. Now the bill is coming due.Telegram is one of the few significant social-media challengers to Facebook Inc., FB -1.90% on a trajectory toward one billion users active each month by the end of 2022, up from roughly 550 million today.

The Singapore stock market has alternated between positive and negative finishes through the last five trading days since the end of the two-day winning streak in which it had added more than a dozen points or 0.4 percent. The Straits Times Index now sits just above the 3,060-point plateau and it's likely to see a narrow trading range on Monday.

Библиотека data scientist’а | Data Science Machine learning анализ данных машинное обучение from hk


Telegram Библиотека дата-сайентиста | Data Science, Machine learning, анализ данных, машинное обучение
FROM USA